const os = require('os');
const {getIPAddress} = require('./util/OtherUtils');//（自定义）工具类
module.exports = {
  listenIp: '0.0.0.0',//(Web服务https)启动ip
  listenPort: 3000,//(Web服务https)启动端口
  sslCrt: '../cert/ppvrnoeqs.icu.pem',//(Web服务https)https证书
  sslKey: '../cert/ppvrnoeqs.icu.key',//(Web服务https)https证书
  /*meidasoup用到的可能修改的一些配置*/
  mediaSoupSettings:{
    /*需要创建Worker的数目，默认操作系统cpu数*/
    numWorkers:Object.keys(os.cpus()).length,
    /*创建Worker时用到的配置：（https://mediasoup.org/documentation/v3/mediasoup/api/#WorkerSettings）*/
    workerSettings:{
      logLevel : 'warn',//（选填）日志记录级别（默认：error）
      logTags  :[ 'info', 'ice', 'dtls', 'rtp', 'srtp', 'rtcp', 'rtx', 'bwe', 'score', 'simulcast', 'svc', 'sctp' ],//（选填）用于调试的日志标签(标记不同颜色)（默认：[]）
      rtcMinPort : 30000,//（选填）用于ICE、DTLS、RTP等的最小RTC端口（默认：10000）
      rtcMaxPort : 31000,//（选填）用于ICE、DTLS、RTP等的最大RTC端口（默认：59999）
      dtlsCertificateFile:null,//（选填）PEM格式的DTLS公共证书文件的路径。如果未设置，则动态创建证书（默认：null）
      dtlsPrivateKeyFile:null,//（选填）PEM格式的DTLS证书私钥文件的路径。如果未设置，则动态创建证书（默认：null）
      appData:{},//（选填）自定义应用程序数据（默认：{}）
    },
    /*Worker创建Router时用到的配置：（https://mediasoup.org/documentation/v3/mediasoup/api/#RouterOptions）*/
    routerOptions:{
      mediaCodecs:[
        {
          kind      : 'audio',
          mimeType  : 'audio/opus',
          clockRate : 48000,
          channels  : 2
        },
        {
          kind       : 'video',
          mimeType   : 'video/VP8',
          clockRate  : 90000,
          parameters :{ 'x-google-start-bitrate' : 1000 }
        },
        {
          kind       : 'video',
          mimeType   : 'video/VP9',
          clockRate  : 90000,
          parameters :{
            'profile-id'             : 2,
            'x-google-start-bitrate' : 1000
          }
        },
        {
          kind       : 'video',
          mimeType   : 'video/h264',
          clockRate  : 90000,
          parameters : {
                'packetization-mode'      : 1,
                'profile-level-id'        : '4d0032',
                'level-asymmetry-allowed' : 1,
                'x-google-start-bitrate'  : 1000
              }
        },
        {
          kind       : 'video',
          mimeType   : 'video/h264',
          clockRate  : 90000,
          parameters : {
            'packetization-mode'      : 1,
            'profile-level-id'        : '42e01f',
            'level-asymmetry-allowed' : 1,
            'x-google-start-bitrate'  : 1000
          }
        }
      ],//（选填）路由器媒体编解码器（默认：[]）
      appData:{}//（选填）自定义应用程序数据（默认：{}）
    },
    /*创建WebRtcTransport时配置：（https://mediasoup.org/documentation/v3/mediasoup/api/#WebRtcTransportOptions）*/
    webRtcTransportOptions : {
      listenIps : [
        {
          ip          : '0.0.0.0',
          // announcedIp : getIPAddress(),
          announcedIp : '10.72.32.200'
          // announcedIp : '192.168.1.100'
        }
      ],//（必填）按优先顺序侦听一个或多个IP地址（第一个是首选）
      initialAvailableOutgoingBitrate : 1000000,//初始可用的传出比特率（以bps为单位）
      maxIncomingBitrate: 1500000,//为远程端点通过此传输发送的媒体流设置最大传入比特率
    },
  }
};
